package com.class06;

import org.junit.jupiter.api.Test;

public interface A {
//    静态常量
//    static 修饰之后相当于是类的成员变量，一般可以放在属性上、方法上，块
//    final 最终，不可修改的，修饰之后会把信息放到常量池中，不会放到方法区中
    public static final int NUM = 10;
//    接口可以有哪些成员：成员变量，抽象方法、defalut方法、静态方法
    public void show();


//    接口中相当于把abstract和public修饰符省略了
    void eat();
}

abstract class C implements A {
//    抽象类中必须最少重写一个抽象方法
    public void show() {
        System.out.println("show");
    }

//    抽象类中权限修饰符不能省略
    public abstract  void eat();


    public abstract void  test();


}
// 抽象类和类之间是is-a的关系 但是需要实现抽象类中的抽象方法
class B extends C {

    @Test
    @Override
    public void show() {
        System.out.println(NUM);
    }

    @Override
    public void eat() {

    }

    @Override
    public void test() {

    }
}




